The above-referenced, commonly assigned and co-pending U.S. application entitled USER DEVICE-INDEPENDENT TRANSACTION MODEL (the "UDT Invention") discloses a model for delivering generic information from a central system to connected users whose terminal devices communicate in varying formats and/or media. The UDT Invention teaches the use of Transaction Templates (TTs) and User Device Templates (UDTs) which script and condition device-independent information exchanges between the system and users to be compatible with the different format and media requirements of said users' various terminal devices. In the UDT Invention, TTs enable an exchange of information between the system and the user in the information's most basic, generic format. UDTs associated with each TT then condition the information exchanged in the TT to be format- and media-compatible with the device through which the user is communicating with the system. The same information exchange may thus be enabled in a variety of environments according to the formats and media supported by various users' terminal devices.
A constraint placed upon the effectiveness of UDTs, however, is the available bandwidth in which to deliver information in the scripted formats and/or media. This is particularly applicable when the information is to be delivered in several media, the display of which to the user is to appear simultaneous and/or synchronized. It will be appreciated that, according to the UDT Invention, a UDT may be designed wherein an information transaction is scripted to appear to the user as a sophisticated multimedia experience, including sound, video, graphics and text, assuming that all of these media are supported by the user's multimedia PC. If the available bandwidth in the interconnecting link between system and user is insufficient to deliver all this information according to the time constraints of the script, however, this multimedia UDT will operate at reduced effectiveness.
One solution to this problem of insufficient bandwidth is for the user simply to sit and wait for a sufficient amount of information to have been delivered to begin the script with confidence that it can be completed without running out of information mid-script.
Another solution is to redesign either (or both) the sequence or the content of the script, so that the script's delivery is either slower or less data-rich. For example, a display of merely ornamental graphics could be delayed or removed to make room for the earlier delivery of more strategic information. Alternatively, a media object may be degraded (e.g. sampling rate reduced) to make the object less data-rich.
A yet further solution is to preload information in advance of its being needed by the script. This solution may be enabled using excess bandwidth in early parts of a particular script. This may be done on an individual script basis, alternatively, when the system knows specifically that a later script will be played, information for that later script may be preloaded on the user's terminal device using excess bandwidth during an earlier script.
Whichever solution is chosen, however, it would be highly advantageous to have a computer tool that enables delivery of information to be scheduled so as to optimize available bandwidth, while still enabling the playing of a multimedia script with minimal startup delay and no interruptions. Using this tool, the system designer would be able to orchestrate scripts linked to an optimum delivery schedule of the underlying media objects. When insufficient bandwidth is available for an instantaneous playback, the designer would further be able to make choices among the alternatives described above, such as delaying startup, redesigning script sequence and/or content, or preloading information, so as to make full and best use of available bandwidth. Further, in the context of UDTs according to the UDT Invention, the designer would be able to design an array of UDTs in which a particular information exchange could be scripted to be delivered at various levels of multimedia sophistication according to predetermined increments of available bandwidth.
Methods of identifying and quantifying available bandwidth in interconnecting links are known in the art. It will therefore be seen that given an array of UDTs as described above, each designed to deliver media objects on a schedule that fits within the constraints of an incrementally different bandwidth, it would then become possible, under the UDT Invention, to select a UDT to match the available bandwidth recognized in a particular interconnecting link.
Orchestrating the delivery of media objects within available bandwidth would further be advantageously enabled in a graphical environment on a general purpose multimedia-grade desktop computer. For example, scripting tools are known in the art where a designer may orchestrate the playback of a series of media objects by creating, adapting and executing a horizontal bar chart, much like a "musical score." There is a need in the art to attach this known orchestration and playback capability to corresponding functionality that shows how playback choices are affected by the constraints of delivery bandwidth. In this way, a designer may design, see, hear and manipulate scripts that also take delivery variables such as available bandwidth into account.
The disclosure of above-referenced U.S. application VISUAL AID FOR BANDWIDTH ALLOCATION IN MULTIMEDIA SCRIPTING TOOLS (the "Manual Invention") describes an invention in which the system displays a "download score," viewable in combination with orchestration and playback functionality. The download score enables a system designer to develop manually a "download script" of media objects that delivers information within a fixed bandwidth constraint (or "pipe") to meet the demand for data in the playback functionality. According to the Manual Invention, the system designer may adapt the shape of "download icons" on the download score so as to fit within the pipe. When all the download icons fit within the pipe without creating an error condition, the system designer knows that the media objects that he or she has selected and scripted on the playback score are deliverable within the bandwidth constraint that he or she selected on the download score. As disclosed in the Manual Invention, however, the designer may have adjust the playback script several times by "trial and error" in order to create a playback score that is deliverable through the pipe. It would be highly advantageous to be able to automate selected aspects of the creation of the download script according to predefined "delivery rules," where the system automatically deploys download icons within the pipe according to the delivery rules and then adjusts their shape to fill up available bandwidth. In this way, the system designer could focus on developing aesthetically pleasing playback scripts deliverable within constraints of bandwidth without having to spend time manually adapting the shape of media objects to fit within a pipe on a display.